1. Field of the Invention
The present invention relates to an image transmission method, a computer-readable image transmission program, a recording medium, and an image transmission apparatus.
2. Description of the Related Art
In recent years, in the fields of ubiquitous computing, home computer networking, and the like, it is important to transmit information other than sound such as video and still images. In many systems for transmitting video and still images, encoding techniques such as JPEG (Joint Photographic Experts Group), MPEG (Moving Picture Experts Group), and the like are used for efficient encoding.
Transmission methods using encoding such as JPEG, MPEG, and the like are efficient in transmission in a predetermined format but are problematic in that they are not suitable (namely, not efficient) for interactive transmission. In view of this, JPEG 2000 was standardized as a novel image encoding method in the end of 2000 (refer to Non-patent Documents 1 to 5, for example).
Due to the image encoding method of JPEG 2000, it is possible to efficiently encode video and still images in interactive transmission and to process in accordance with an object without decoding code streams after the encoding.
JPEG 2000 Part 9 referred to as JPIP is an international standard for transmitting video and still images encoded using JPEG 2000. JPIP includes a transmission method with a tile unit (JPT-stream method) and a transmission method with a precinct unit which is an area unit smaller than a tile (JPP-stream method) (refer to Patent Documents 1 to 5, for example).
The following describes an example of a configuration of a server/client system according to JPIP (hereafter simply referred to as a JPIP system) with reference to FIG. 1. FIG. 1 is a configuration diagram of a JPIP system. As shown in FIG. 1, The JPIP system includes a JPIP server and a JPIP client. The JPIP server returns an image area (or code words corresponding to the image area) to the JPIP client in response to a request from the JPIP client. The JPIP client includes an image name of a target and the image area in the request and transmits the request to the JPIP server. The JPIP server obtains data of the image area from the target image on the basis of information about the image name, the image area, and the like, and returns a response including the data of the image area to the JPIP client.
The following describes the functional configuration of the JPIP system in the transmission method with a tile unit (JPT-stream method) with reference to FIG. 2. FIG. 2 is a functional configuration diagram of the JPIP system in the JPT-stream method.
As shown in FIG. 2, a client side in the transmission method with a tile unit (JPT-stream method) includes a request message generating unit, a response message decoding unit, and a tile part combining unit. A server side in the transmission method with a tile unit (JPT-stream method) includes a request message decoding unit, a tile identifying unit, a tile part reading unit, and a response message generating unit.
The request message generating unit generates a JPIP request message including a name of a target image, information about a view window, and the like. The request message decoding unit obtains the name of the target image, the information about the view window, and the like from the JPIP request message. The tile identifying unit selects a tile within an area of the requested view window on the basis of the information obtained by the request message decoding unit. In this case, the coordinates of the upper left corner (tx0, ty0) and the coordinates of the lower right corner (tx1, ty1) of the tile selected on a reference grid are represented as follows:tx0=(wx0−T0x)/Tsx,ty0=(wy0−T0y)/Tsy tx1=(wx1−T0x)/Tsx,ty1=(wy1−T0y)/Tsy 
where, (wx0, wy0) and (wx1, wy1) indicate the coordinates of the upper left corner and the coordinates of the lower right corner of the view window normalized on the reference grid of a requested subband domain. Further, (T0x, T0y) and (Tsx, Tsy) indicate the offset and the size of the tile on the reference grid of the requested domain, respectively.
The tile reading unit obtains a tile part and the response message generating unit generates a response message. The client side receives the response message and decodes the response message in the response message decoding unit. Then, the client side connects the decoded data and the like (tile parts, for example) in the tile part combining unit or the like and generates a code stream.
The tile is a space unit for transmitting the code stream, so that the capability of transmission in space depends on the size of the tile. Thus, in the standard JPEG 2000, Start-Of-Tile-part (SOT), a marker having the length of a tile and positional information of a start, is defined. Accordingly, the client side is capable of readily receiving tile parts and simply connecting them, for example. Thus, it is relatively easy to construct the JPIP system in the transmission method with a tile unit (JPT-stream method). However, the transmission method with a tile unit (JPT-stream method) is problematic in that the capability of transmission in space is rough, since the tile is used as the transmission unit.
Next, the following describes the functional configuration of the JPIP system in the transmission method with a precinct unit (JPP-stream method) with reference to FIG. 3. FIG. 3 is a functional configuration diagram of the JPIP system in the JPP-stream method.
As shown in FIG. 3, a client side in the transmission method with a precinct unit (JPP-stream method) includes a request message generating unit, a response message decoding unit, a tile part assembling unit, and a tile part combining unit. A server side in the transmission method with a precinct unit (JPP-stream method) includes a request message decoding unit, a tile identifying unit, a precinct identifying unit, a packet reading unit, and a response message generating unit.
The request message generating unit generates a JPIP request message including a name of a target image, information about a view window, and the like. The request message decoding unit obtains the name of the target image, the information about the view window, and the like from the JPIP request message. The tile identifying unit selects a tile within an area of the requested view window on the basis of the information obtained by the request message decoding unit. The precinct identifying unit selects a precinct of the tile positioned within the area of the requested view window and selected by the tile identifying unit. In this case, the coordinates of the upper left corner (px0, py0) and the coordinates of the lower right corner (px1, py1) of the precinct selected on a reference grid in a subband domain are represented as follows:px0=max(tx(n)0,wx′0)/2PPx py0=max(ty(n)0,wy′0)/2PPy px1=max(tx(n)1,wx′1)/2PPx py1=max(ty(n)1,wy′1)/2PPy 
where, (tx(n)0, ty(n)0) and (tx(n)1, ty(n)1) indicate the coordinates of the upper left corner and the coordinates of the lower right corner of the nth tile on the reference grid of the subband domain. Also, PPx and PPy indicate indexes of the width and length of the precinct, respectively. Further, (wx′0, wy′0) and (wx′1, wy′1) indicate a range of the view window on the reference grid of the subband domain enlarged using a wavelet filter.
The packet reading unit collects (or reads out) packets concerning the precinct selected by the precinct reading unit. Then, the response generating unit generates a response message including the packets. The client side receives the response message, decodes the response message in the response message decoding unit, and assembles the packets and the like into a tile part in the tile part assembling unit. Thereafter, the client side connects the tile parts in the tile part combining unit and generates a code stream. An application in the client side decodes the code stream and displays an image on a display unit or the like of the client.
In the JPIP system in the transmission method with a precinct unit (JPP-stream method), the precinct, which is relatively smaller than a tile, is used as the unit. Thus, interactive capability in space is improved in comparison with the JPIP system in the transmission method with a tile unit (JPT-stream method) and it is possible to efficiently transmit encoded data in the area of the object view window to the client side. Accordingly, by constructing the JPIP system using the transmission method with a precinct unit (JPP-stream method), the JPIP system transmits an image with the improved efficiency.
Non-patent Document 1: M. Boliek, C. Christopoulos and E. Majani, “J JPEG 2000 Part 1 020719 (Final Publication Draft),” ISO/IEC JTC 1/SC 29/WG1 N2678, July 2002.
Non-patent Document 2: M. Gormish, D. Lee and M Marcellin, “JPEG 2000: Overview, Architecture, and Applications,” Int. Conf. on Image Processing, Vancouver, Canada, September 2000.
Non-patent Document 3: R. Prandolini, G. Colyer, and S. Houchin, “15444-9:2004 JPEG 2000 image coding system—Part 9: Interactivity tools, APIs and protocols—JPIP,” Final Publication Draft Revision 3, ISO/IEC JTC 1/SC 29/WG 1 N3463, November 2004.
Non-patent Document 4: D. Taubmana and R. Prandolini, “Architecture, Philosophy and Performance of JPIP: Internet Protocol Standard for JPEG 2000,” VCIP2003 SPIE volume 5150 pp. 649-663, July 2003.
Non-patent Document 5: M. Gormish and S. Banerjee, “Tile-based transport of JPEG 2000 images,” VLVBO3, Madrid, Spain, September 2003.
Patent Document 1: Japanese Laid-Open Patent Application No. 2004-274758
Patent Document 2: Japanese Laid-Open Patent Application No. 2004-208266
Patent Document 3: Japanese Laid-Open Patent Application No. 2004-349939
Patent Document 4: Japanese Laid-Open Patent Application No. 2004-228717
Patent Document 5: Japanese Laid-Open Patent Application No. 2004-40674
However, the packet reading unit of the server side in the transmission method with a precinct unit (JPP-stream method) must perform a complicated process. Also, on the client side in the transmission method with a precinct unit (JPP-stream method), the tile part assembling unit must reconstruct (or assemble) a tile part rearranging packets in each precinct, for example, and generate a code stream, so that the process of the client side becomes complicated and thus poses a problem. Therefore, the JPIP system in the transmission method with a precinct unit (JPP-stream method) is problematic in that it requires high construction costs. In particular, when the process of the client side is complicated and the construction costs thereof are increased, vendors and the like are likely to construct a client and the like in the transmission method with a tile unit (JPT-stream method) so as to reduce the construction costs. As a result, the number of clients in the transmission method with a tile unit (JPT-stream method) having an inferior transmission efficiency is increased. Further, there is a problem of compatibility between the transmission method with a tile unit (JPT-stream method) and the transmission method with a precinct unit (JPP-stream method), for example.